package homework_9;

/**
 * @Author admin
 * @Date 2019/4/12 10:26
 */

import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Random;
import java.util.Set;

/**
 * 练习2： 从文本文件pan.txt中读取数据存储到集合HashMap中，并遍历集合
 * 练习3：文本文件pan.txt中存储了多个名字，请实现随机获取一个人的名字
 */
public class HomeWork_9_2and3 {
    public static void main(String[] args) {
        /**
         * 1.循环读取：
         * 读取一行文本
         * 将改行文本进行分割，一部分作key，一部分作value
         * 将key，value保存在HashMap
         * 2.遍历集合
         *
         * 读取文件时，若该文件时，文件编码UTF-8则不需要用转换流
         * 若不是 则改为UTF-8
         */
        HashMap<Integer,String> hashMap=new HashMap<Integer, String>();
        BufferedReader reader=null;
        String in="homework_9.txt";
        try {
            reader=new BufferedReader(new FileReader(in));
            String str=null;
            while((str=reader.readLine())!=null){
                String[] s=str.split("-");//spilt分割
                hashMap.put(Integer.valueOf(s[0]),s[1]);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        Set<Integer> set=hashMap.keySet();
        Iterator iterator=set.iterator();
//      联系2
        while(iterator.hasNext()){
            Integer key= (Integer) iterator.next();
            String value=hashMap.get(key);
            System.out.println(key+value);
        }
//        练习3
        System.out.println("随机获取人民");
        Random random=new Random();
        int ran=random.nextInt(5)+1;
        String value=hashMap.get(ran);
        System.out.println(ran+value);

    }
}
